package org.dromara.yuanshidian.domain.bo;

import org.dromara.yuanshidian.domain.Ab05;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 个人账户总账业务对象 ab05
 *
 * @author Lion Li
 * @date 2025-01-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Ab05.class, reverseConvertGenerate = false)
public class Ab05Bo extends BaseEntity {

    /**
     * 主键ID
     */
    //@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 统筹区编码
     */
    //@NotBlank(message = "统筹区编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String aaa027;

    /**
     * 单位编码
     */
    //@NotBlank(message = "单位编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dw01;

    /**
     * 单位名称
     */
   // @NotBlank(message = "单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dw02;

    /**
     * 个人编号
     */
    private String gr01;

    /**
     * 身份证号码
     */
    //@NotBlank(message = "身份证号码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gr02;

    /**
     * 个人帐号
     */
    //@NotBlank(message = "个人帐号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gr03;

    /**
     * 职工姓名
     */
   // @NotBlank(message = "职工姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gr04;

    /**
     * 本期个人缴费
     */
    //@NotNull(message = "本期个人缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh01;

    /**
     * 本期单位划转
     */
    //@NotNull(message = "本期单位划转不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh02;

    /**
     * 本期单位代缴
     */
    //@NotNull(message = "本期单位代缴不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh03;

    /**
     * 历年个人缴费
     */
    //@NotNull(message = "历年个人缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh04;

    /**
     * 历年单位缴费
     */
    //@NotNull(message = "历年单位缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh05;

    /**
     * 历年单位代缴
     */
    //@NotNull(message = "历年单位代缴不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal grzh06;

    /**
     * 建立帐户时间
     */
    //@NotNull(message = "建立帐户时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date gr10;

    /**
     * 缴费总月数
     */
    //@NotNull(message = "缴费总月数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh08;

    /**
     *
     */
    //@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh09;

    /**
     * 历年缴费总月数
     */
    //@NotNull(message = "历年缴费总月数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh11;

    /**
     *
     */
    //@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh14;

    /**
     * 本年补充额
     */
    //@NotNull(message = "本年补充额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh16;

    /**
     * 个人储畜额
     */
    //@NotNull(message = "个人储畜额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh17;

    /**
     * 历年补充额
     */
    //@NotNull(message = "历年补充额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh18;

    /**
     * 历年个人储畜额
     */
    //@NotNull(message = "历年个人储畜额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh19;

    /**
     * 本年新政策个人缴费
     */
    //@NotNull(message = "本年新政策个人缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh21;

    /**
     * 本年新政策单位缴费
     */
    //@NotNull(message = "本年新政策单位缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh22;

    /**
     * 本年新政策单位代缴
     */
    //@NotNull(message = "本年新政策单位代缴不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh23;

    /**
     * 历年新政策个人缴费
     */
    //@NotNull(message = "历年新政策个人缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh24;

    /**
     * 历年新政策单位缴费
     */
    //@NotNull(message = "历年新政策单位缴费不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh25;

    /**
     * 历年新政策单位代缴
     */
    //@NotNull(message = "历年新政策单位代缴不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh26;

    /**
     * 新政策缴费月数
     */
    //@NotNull(message = "新政策缴费月数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grzh27;

    /**
     *
     */
    //@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dw24;

    /**
     * 修改日期
     */
    //@NotNull(message = "修改日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date systime;

    /**
     *
     */
    //@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long grjx09;

    /**
     * 数据状态:1待提交2审核中3已审核4驳回
     */
    //@NotNull(message = "数据状态:1待提交2审核中3已审核4驳回不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long status;

    /**
     * 删除状态:0未删除，1已删除
     */
    //@NotNull(message = "删除状态:0未删除，1已删除不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long delStatus;

    /**
     * 计算类型:1单利计算，2复利计算
     */
    //@NotNull(message = "计算类型:1单利计算，2复利计算不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long calculationType;

    /**
     * 文件地址
     */
    //@NotBlank(message = "文件地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fileurl;

    /**
     * 导出选中列表ID
     */
    private String splitID;


}
